﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace text.Tree
{
    //538. 把二叉搜索树转换为累加树
    //给定一个二叉搜索树（Binary Search Tree），把它转换成为累加树（Greater Tree)，
    //使得每个节点的值是原来的节点值加上所有大于它的节点值之和。
    public class _538
    {
        int num = 0;
        public TreeNode ConvertBST(TreeNode root)
        {
            if (root != null)
            {
                //遍历右子树
                ConvertBST(root.right);
                //遍历顶点
                root.val = root.val + num;
                num = root.val;
                //遍历左子树
                ConvertBST(root.left);
                return root;
            }
            return null;
        }
    }
}
